package top.lishuoboy.hibernate.validator.a2_1_1;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;

import javax.validation.constraints.AssertTrue;
import javax.validation.constraints.NotNull;

/**
 * 当约束被定义在字段上的时候, 这个字段的值是通过字段访问策略来获取并验证的. 也就是说Bean Validation的实现者会直接访问这个实例变量而不会调用属性的访问器(getter) 即使这个方法存在。
 * 【注意】这个字段的访问级别( private, protected 或者 public) 对此没有影响。
 * 【注意】静态字段或者属性是不会被校验的。
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
@Accessors(chain = true)
public class Car {
    /** 品牌 */
    @NotNull
    private String manufacturer;

    /** 是否注册 */
    @AssertTrue
    private boolean isRegistered;

}